/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.cpal.entrenamiento.dao.impl;

import com.cpal.entrenamiento.dao.IPruebaDAO;
import com.cpal.entrenamiento.dao.IPruebaEjercicioDAO;
import com.cpal.entrenamiento.entity.Prueba;
import com.cpal.entrenamiento.entity.PruebaEjercicio;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import org.springframework.stereotype.Repository;

/**
 *
 * @author onoel
 */
@Repository
public class PruebaEjercicioDAO extends SqlMapClientDaoSupport implements IPruebaEjercicioDAO {

    @Override
    public List<PruebaEjercicio> buscarPruebaEjercicio(PruebaEjercicio pruebaEjercicio) throws DataAccessException {
        Map<String, Object> parameterMap = new HashMap<String, Object>();
        parameterMap.put("pruebaCodigo", pruebaEjercicio.getPrueba().getCodigo());
        parameterMap.put("ejercicioCodigo", pruebaEjercicio.getEjercicio().getCodigo());
        parameterMap.put("estado", pruebaEjercicio.getEstado());

        return getSqlMapClientTemplate().queryForList("buscarPruebaEjercicio", parameterMap);
    }

    @Override
    public void eliminarPruebaEjercicio(PruebaEjercicio pruebaEjercicio) throws DataAccessException {
        Map<String, Object> parameterMap = new HashMap<String, Object>();
        parameterMap.put("pruebaCodigo", pruebaEjercicio.getPrueba().getCodigo());
        parameterMap.put("ejercicioCodigo", pruebaEjercicio.getEjercicio().getCodigo());
        getSqlMapClientTemplate().update("eliminarPruebaEjercicio", parameterMap);
    }

    @Override
    public void insertarPruebaEjercicio(PruebaEjercicio pruebaEjercicio) throws DataAccessException {
        Map<String, Object> parameterMap = new HashMap<String, Object>();
        parameterMap.put("pruebaCodigo", pruebaEjercicio.getPrueba().getCodigo());
        parameterMap.put("ejercicioCodigo", pruebaEjercicio.getEjercicio().getCodigo());
        parameterMap.put("estado", pruebaEjercicio.getEstado());

        getSqlMapClientTemplate().insert("insertarPruebaEjercicio", parameterMap);
    }

    @Override
    public void actualizarPruebaEjercicio(PruebaEjercicio pruebaEjercicio) throws DataAccessException {
        Map<String, Object> parameterMap = new HashMap<String, Object>();
        parameterMap.put("pruebaCodigo", pruebaEjercicio.getPrueba().getCodigo());
        parameterMap.put("ejercicioCodigo", pruebaEjercicio.getEjercicio().getCodigo());
        parameterMap.put("estado", pruebaEjercicio.getEstado());

        getSqlMapClientTemplate().update("buscarPruebaEjercicio", parameterMap);
    }
}
